A reverse proxy is a service or device (such as a proxy server) that handles incoming requests from clients and interacts with services residing on one or more servers on behalf of the clients. That is, a reverse proxy typically receives a request from a client, determines which service is configured to generate a response to the request, sends the request to the determined service, receives the response from the service, and sends the response to the client. Reverse proxies are commonly used to balance loads on servers for increased scalability and availability, to improve security in a network, and provide failover protection.